using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DragonAwakening.Core.Game
{
    /// <summary>
    /// Character race.
    /// </summary>
    public enum RaceName
    {
        Human,
        Elf,
        Dwarf,
        Halfling,
        HalfElf,
        HalfOrc
    }

    /// <summary>
    /// Race information class.
    /// </summary>
    public class Race
    {
        /// <summary>
        /// Display strings
        /// </summary>
        private static Dictionary<RaceName, string> Strings = new Dictionary<RaceName,string>
        {
            { RaceName.Human, "Human" },
            { RaceName.Elf, "Elf" },
            { RaceName.Dwarf, "Dwarf" },
            { RaceName.Halfling, "Halfling" },
            { RaceName.HalfElf, "Half elf" },
            { RaceName.HalfOrc, "Half orc" }
        };

        /// <summary>
        /// Constructs the race information.
        /// </summary>
        /// <param name="race"></param>
        public Race(RaceName race)
        {
            this.RaceName = race;
        }

        /// <summary>
        /// Race
        /// </summary>
        public RaceName RaceName { get; private set; }

        /// <summary>
        /// Gets the display string.
        /// </summary>
        public override string ToString()
        {
            return Strings[this.RaceName];
        }
    }
}
